//package com.beeasy.hzbpm.work;
//
//import cn.hutool.http.HttpUtil;
//import com.github.llyb120.json.Arr;
//import com.github.llyb120.json.Json;
//import com.github.llyb120.json.Obj;
//
//import java.util.*;
//
//import static com.github.llyb120.nami.core.Config.config;
//
//import static com.github.llyb120.json.Json.*;
//
//public class PluginMode implements WorkMode {
//
//    public static String HTTP_URL = config.var.s("httpURL", "");
////    public static String httpIP= "http://localhost:8099";
//
//    /**
//     * 检查一个用户是否是超级管理员
//     * @param uid
//     * @return
//     */
//    @Override
//    public boolean isSu(String uid) {
//        Obj info = o();
//        try {
//            String str = HttpUtil.get(HTTP_URL+"/api/v20/interfaceUtils/isSu?uid="+uid);
//            info = Json.parse(str);
//
//        }catch (Exception e){
//            e.printStackTrace();
//            System.out.println("请求错误");
//        }
//        return info.b("data");
//    }
//
//    @Override
//    public String getUserCacheName(String uid) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getUserCacheName?uid="+uid);
////        Obj info = Json.parse(str);
//        Obj params = o("uid",uid);
//        String url = "/api/v20/interfaceUtils/getUserCacheName";
//        Obj obj = sendGet(url, params);
//        return obj.ss("data");
//    }
//
//    @Override
//    public Obj getUserNamesMap(Collection<String> uids) {
//        Obj params = o("uids",uids.isEmpty() ? a(-1):uids);
//        String url = "/api/v20/interfaceUtils/getUserNamesMap";
//        Obj obj = sendGet(url, params);
//        Arr data = obj.aa("data");
//        Obj rep = o();
//        for (Object datum : data) {
//           Obj da = (Obj)datum;
//            rep.put(da.s("id"), da.s("true_name"));
//        }
//        return rep;
//    }
//
//    @Override
//    public List<Obj> getRoleList() {
//        Obj params = o();
//        String url = "/api/v20/interfaceUtils/getRoleList";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<Obj> getDepList() {
//        Obj params = o();
//        String url = "/api/v20/interfaceUtils/getDepList";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public boolean addLog(String uid, String msg) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/addLog?uid="+uid+"&msg="+msg);
////        Obj info = Json.parse(str);
//
//        Obj params = o("uid",uid,"msg",msg);
//        String url = "/api/v20/interfaceUtils/addLog";
//        Obj obj = sendGet(url, params);
//        return obj.b("data");
//    }
//
//    @Override
//    public List<String> getPhones(Collection<String> uids) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getPhones?uids="+uids);
////        Obj info = Json.parse(str);
//
//        Obj params = o("uids",uids.isEmpty()?a(-1):uids);
//        String url = "/api/v20/interfaceUtils/getPhones";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<Obj> getOrgList(Collection<String> ids) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getOrgList?ids="+ids);
////        Obj info = Json.parse(str);
//
//        Obj params = o("ids",ids.isEmpty()?a(-1):ids);
//        String url = "/api/v20/interfaceUtils/getOrgList";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<Obj> getUserNameList(Collection<String> ids) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getUserNameList?ids="+ids);
////        Obj info = Json.parse(str);
//
//        Obj params = o("ids",ids.isEmpty()?a(-1):ids);
//        String url = "/api/v20/interfaceUtils/getUserNameList";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<String> getUserRoleIds(String uid) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getUserRoleIds?uid="+uid);
////        Obj info = Json.parse(str);
//
//        Obj params = o("uid",uid == null ? "" : uid);
//        String url = "/api/v20/interfaceUtils/getUserRoleIds";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<String> getOrgUserIds(Collection<String> oid) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getOrgUserIds?oids="+oid);
////        Obj info = Json.parse(str);
//
//        Obj params = o("oids",oid.isEmpty() || oid == null ? a(-1) : oid);
//        String url = "/api/v20/interfaceUtils/getOrgUserIds";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<Obj> getDepUsersNew(String did) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getDepUsersNew?id="+did);
////        Obj info = Json.parse(str);
//
//        Obj params = o("id",did == null ? "" : did);
//        String url = "/api/v20/interfaceUtils/getDepUsersNew";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<Obj> getRoleUsersNew(String did) {
////        String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/getRoleUsersNew?id="+did);
////        Obj info = Json.parse(str);
//
//        Obj params = o("id",did == null ? "" : did);
//        String url = "/api/v20/interfaceUtils/getRoleUsersNew";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    @Override
//    public List<String> getManagersFromDeps(Collection<String> dids) {
//        Obj params = o("did",dids.isEmpty() ? a(-1) : dids);
//        String url = "/api/v20/interfaceUtils/getManagersFromDeps";
//        Obj obj = sendGet(url, params);
//        return (List)obj.oo("data");
//    }
//
//    @Override
//    public List<Obj> getNextNodeDealers(SmartChooseOption option) {
//        List<Obj> uids = a();
//        List<Obj> uidArr = a();
//        String type = "";
//        if(option.chooseSelfDep || option.chooseParallelDep){
//            type= option.chooseSelfDep == true ? "chooseSelfDep" : "chooseParallelDep";
//            Obj params = o("uid",option.currentUserId,"type",type);
//            String url = "/api/v20/interfaceUtils/choosePersonRule";
//            Obj obj = sendGet(url, params);
//
////            String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/choosePersonRule?uid="+option.currentUserId+"&type="+type);
////            Obj info = Json.parse(str);
//            uidArr.addAll((Collection<? extends Obj>) (obj.get("data")));
//        }
//
//        if(option.choosePublisher){
//            if(option.choosePublisher){
//                type="choosePublisher";
//            }
//            Obj params = o("uid",option.currentUserId,"type",type);
//            String url = "/api/v20/interfaceUtils/autoSelectRule";
//            Obj obj = sendGet(url, params);
//            uidArr.addAll((Collection<? extends Obj>) (obj.get("data")));
//
////            String str = HttpUtil.get(httpIP+"/api/v20/interfaceUtils/autoSelectRule?uid="+option.currentUserId+"&type="+type);
////            if(null != str){
////                Obj info = Json.parse(str);
////            }
//        }
//        // 角色/人员/部门
//        Obj params = o(
//                "uid",uidArr,
//                    "uids", option.baseUserIds.isEmpty()? a(-1) : option.baseUserIds,
//                    "rids", option.baseRoleIds.isEmpty()? a(-1) : option.baseRoleIds,
//                    "dids", option.baseDepIds.isEmpty()? a(-1) : option.baseDepIds
//                );
//
//        String url = "/api/v20/interfaceUtils/baseIds";
//        Obj obj = sendGet(url, params);
//
////        String rep = HttpUtil.get("http://localhost:8099/api/v20/interfaceUtils/baseIds", o(
////                "param", params
////        ));
////        Obj info = Json.parse(rep);
//        uids.addAll(obj.a("data").oa());
//
//        return uids;
//
//
//    }
//
//    @Override
//    public List<Obj> searchUserByKeyword(String keyword) {
//        Obj params = o("id",keyword == null ? "" : keyword);
//        String url = "/api/v20/interfaceUtils/searchUserByKeyword";
//        Obj obj = sendGet(url, params);
//        return (List)obj.aa("data");
//    }
//
//    private Obj sendGet(String url, Obj params){
//        Obj info = o();
//        try {
//            String rep = HttpUtil.get(HTTP_URL + url, o(
//                    "param", params
//            ));
//            info = Json.parse(rep);
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//        return info;
//    }
//
//}
